package com.ruoyi.system.service.construction;

import com.ruoyi.system.domain.construction.Team;

import java.util.List;

/**
 * 施工队 分类别 服务层
 *
 * @author 张少丛
 */
public interface TeamService {

    /**
     * 查询所有分类信息
     * @param team
     * @return
     */
    public List<Team> selectTeamList(Team team);

    /**
     * 根据分类ID查询
     * @param teamId
     * @return
     */
    public Team selectTeamById(Long teamId);

    /**
     * 根据分类名称查询
     * @param teamName
     * @return
     */
    public Team selectTeamByName(String teamName);

    /**
     * 根据人员ID查询类别Id
     * @param constructionId
     * @return
     */
    public int selectTeamByInfoId(Long constructionId);

    /**
     * 校验类别名称
     * @param team
     * @return
     */
    public String checkTeamNameUnique(Team team);

    /**
     * 添加分类信息
     * @param team
     * @return
     */
    public int insertTeam(Team team);

    /**
     * 删除分类信息
     * @param teamId
     * @return
     */
    public int deleteTeam(Long teamId);

    /**
     * 批量删除分类信息
     * @param ids
     * @return
     */
    public int deleteTeamByIds(Long[] ids);

    /**
     * 修改分类信息
     * @param team
     * @return
     */
    public int updateTeam(Team team);

    /**
     * 修改分类状态
     * @param team
     * @return
     */
    public int updateTeamStatus(Team team);

    public List<Team> findAll();



    //TODO: 根据ID查询超管的分类
    public Team apifindAllListTeamById(Long teamId);
    //TODO: 查询超管的分类
    public List<Team> apifindAllListTeamOne(Team team);
    public List<Team> apifindAllListTeamTwo(Team team);
    //TODO: 超管添加数据
    public int apiInsertTeam(Team team);
    public int apiInsertTeamTwo(Team team);
    //TODO: 超管修改数据
    public int apiUpdateTeam(Team team);
    public int apiUpdateTeamTwo(Team team);
    //TODO: 超管删除数据
    public int apiDeleteTeamByIds(Long[] teamId);
    public int apiDeleteTeamByIdsTwo(Long[] teamId);


    //TODO: 普通用户查询超管的施工队类别列表
    public List<Team> selectStatusTeamList(String teamType);



    //TODO: 超管：根据店铺ID查询分类列表
    public List<Team> selectSuperTeamList(Team team);
}
